/*
 * eyebrowHandler.h
 *
 *  Created on: Nov 27, 2012
 *      Author: michiel
 */

#ifndef EYEBROWHANDLER_H_
#define EYEBROWHANDLER_H_

#include "emotion_handler.h"
#include "comm/eyebrows_msg.h"

class EyebrowsHandler : public EmotionHandler {
	private:
		ros::Publisher	_eyebrows_pub;
		comm::eyebrows	_eyebrows_state;
	protected:
		void publish();
	public:
		EyebrowsHandler();
		~EyebrowsHandler();

		void init();
		void spin();

		/**
		 * Set the eyebrows according to the emotion.
		 */
		void processEmotion();

		/**
		 * Set the state of the eyebrows.
		 * @state	state of the eyebrow.
		 */
		void setEyebrowState(int state);

		/**
		 * Set the eyebrow angle.
		 * @angle	angle of the eyebrow (only used for rviz)
		 */
		void setEyebrowAngle(float angle);
};

#endif /* EYEBROWHANDLER_H_ */
